package com.aqie.medium.binarySearchTree;

import com.aqie.easy.structure.TreeNode;

/**
 * todo
 * 230 二叉搜索树第k小的元素
 * 寻找中序遍历第k个节点的值；
 * 每次访问节点,计数器 -1
 * 当count==0， 代表已经到达第k个节点
 */
public class KthSmallest {
    int res = Integer.MAX_VALUE, count;
    public int kthSmallest(TreeNode root, int k) {
        count = k;
        inorder(root);
        return res;
    }

    public void inorder(TreeNode root){
        if (root != null){
            inorder(root.left);
            if (res != Integer.MAX_VALUE) return ;
            if (--count == 0) res = root.val;
            inorder(root.right);
        }
    }
}
